約 2,434,548 件
https://w.atwiki.jp/night-horizon/pages/76.html
nobile(貴族) (サビ) 人は知ってしまう 真実を 人は受け入れてしまう 真実を ひとつの真実に隠れた真理 黒い陰謀の海を泳ぐ (語り) 華やかな社交界で人は煌めく 優雅に踊る女とそれを値踏みする男 繰り返される華麗なる晩餐 この世界の暗黙のルールは 美しい青年の顔を曇らせた (A) 変わり映えしぬ毎日 堕落の宴 今宵も月さえ見ることなく 唯、古い笑顔の仮面をかぶる (A) 蝶から家畜まで揃う 狂乱の歌劇(オペラ) 酒を飲んでも酔えはしない 嗚呼、逃走という甘美な夢を見る (語り) 満たされたものだけが感じる不幸 いつものように「気分が悪い」と帰ろうとするとき 小さな淑女に出会う (セリフ) 「はじめましてフィリップ様」 (B) まずは雷鳴 耳鳴りを感じたと思った瞬間に 全身を衝撃が走った (B) 泳ぐ眼球 彼女を見つめることはばかられ 鼓動のポンプに血は巡る (セリフ) 「わたくしと踊って頂けませんか?」 差し出された手は小さく 細い指が妙に艶めかしい 美しい金髪に欲情し 愛らしい唇に妄想し 男は淑女の手をとった (語り) オルゴールの人形のように 螺子が切れればいずれ沈黙 猛る精神 止め処ない欲求 青年は幼い淑女を・・・ 淑女は青い果実を・・・ (セリフ) 「フィリップ様こちらにいらして」 淫蕩の香水に惹かれたnobile 淑女の指が妖しく踊る ソファの上に重なる淫獣供(けもの) ぬらりと赤い生き物が半裸の体を這う 「あら、もうこんなになされて・・・嬉しいですわ。わたくしで感じて下さるのですね」 「貴族と娼婦の顔を持つのか?この淑女(ひと)は・・・」 悦楽とジレンマの比率は差をつける そう、フィリップはこの幼い淑女に犯されることを望んだ 深層心理が声を荒げる 堕落する自分はとても清いのだと 微温湯の様な快楽は唐突に豹変する 気がつけば両腕は拘束され淑女は激しく喉を鳴らす (苦しそうな貴女がいとおしい。えづきながら懸命に傅く貴女は美しい) 喉で愛撫する淑女 唇の端を伝う蜜 そして淑女は禁断の扉をノックする まずはGrave そしてVivace 青い果実は次第に染め上げられる そう、あの扉の向こう側へ・・・ 「フィリップ様・・・。 はしたないですわ。フフフ・・・ 次はわたくしにしていただけますよね・・・?」 (サビ) 彼は知ってしまう 真実を 彼は受け入れてしまう 真実を ひとつの真実に隠れた真実 正しき家系に傷がつく 彼は知ってしまう 真実を 彼は受け入れてしまう 真実を ひとつの真実に隠れた真実 狂った男にモラルはない (語り) そして青年は・・・
https://w.atwiki.jp/www-iris/pages/1763.html
【エリア名】 TV局コンパネの電脳 【読み方】 てれびきょくこんぱねのでんのう 【分類】 電脳 【場所】 DNN 【登場作品】 「3」 【詳細】 DNNの2階廊下の、編集室前の壁についているコンパネの電脳世界。 プラグイン場所に初めて来れるのは、正体を明かした砂山ノボルを追う場面だが、この時はプラグインできない。 入れるのはその次の章からとなる。 中のミステリーデータには、レギュラーUP1と、アタック+1が入っている。 ただし、アタック+1の方はオープンロックが必要。 中にいるノーマルナビに話しかければ、ギャンブルに挑むことができる。 掛け金は500ゼニーで、3択を当てられれば掛け金が3倍になる。 4連続で当てられれば胴元が破産し、40500ゼニーと「フミコミザン L」が手に入る。 ギャンブルの内容的には、3か所あるギャンブルの2番目と言える。 ただ、このタイミングで、すでに3つ目のギャンブルがある湾岸病院のじはんきの電脳に行けるので、そっちを先に見つけた人が多いかもしれない。 他には、SPナビのキングマンSPが出てくる場所もここ。
https://w.atwiki.jp/arcadiasaga/pages/447.html
Last up date 2009-09-10 11 24 49 (Thu) ディプスハウンド データの直接編集をされる方はコチラより編集してください。 画像 編集 名前 編集 種別 編集 生息エリア 編集 攻撃性 昼 編集 夜 編集 関連クエスト 編集 経験値 ソロ 編集 PT 編集 MOBスペック LV 編集 HP 編集 AP 編集 ATK 編集 DEF 編集 S.ATK 編集 S.DEF 編集 HIT 編集 AVOID 編集 CRIT 編集 B.AVOID 編集 強属性 編集 弱属性 編集 ペット ペットスキル 編集 餌 編集 備考 編集 ドロップ 編集 +同レベル帯(Lv11~20)一覧 画像 ペット名 詳細 ペットスキル 編集 LV 種別 餌 HP AP ATK DEF S.ATK S.DEF HIT AVOID CRIT B.AVOID スキル名 ペットLV 親密度 消費AP 説明 編集 ジャイアントスパイダー 11 478 60 112 105 57 56 4% 3% 0% 5% テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 編集 キラーインセクト 11 563 60 126 134 101 73 2% 2% 0% 3% ニードル 20 編集 ポイズンニードル 30 編集 プリミティブファンガス 11 キノコ 771 76 152 174 120 86 3% 2% 0% 5% カオスティックスポア 30 編集 スリーピングスポア 30 編集 編集 ディサグリーアトラス 11 フルーツ 822 70 145 217 76 79 4% 1% 0% 2% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 レオパルド 12 ミート 435 62 157 166 137 96 5% 6% 0% 3% ライトステップ 30 回避率を上昇させる 編集 編集 インビジブルリザード 12 ベジ 671 123 157 181 181 180 4% 8% 0% 7% ライトステップ 30 回避率を上昇させる 編集 編集 ベア 13 ミートペットフード 562 50 165 156 95 88 3% 2% 0% 3% ワイルドクロー 20 編集 ディープインパクト 40 編集 クロウラー 13 661 97 145 156 156 101 5% 2% 0% 5% ウエポンディソルブ 30 編集 アーマーディソルブ 30 編集 サーペント 13 ミート 578 74 161 137 84 112 5% 5% 0% 6% テイルアタック 30 編集 パラライズバイト 30 編集 ニンブルラット 13 606 84 128 171 103 82 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 コールドハウンド 13,14 716 74 193 126 169 112 7% 6% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 タクシクフラワー 13 705 72 150 146 95 86 2% 2% 0% 2% シードバレット 30 編集 リラックスフレグランス 30 敵の物理攻撃力減少 編集 スナップラット 14 635 86 135 180 108 86 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ブラックレオパルド 15 537 70 190 204 167 119 6% 7% 0% 4% ライトステップ 30 回避率を上昇させる 編集 ドレッドファング 16 40 編集 ディプスハウンド 15 ミート 670 67 181 118 159 105 7% 5% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 ストレインアウルベア 15 キノコ 615 53 136 107 70 70 5% 2% 0% 4% ワイルドフェザー 30 編集 フェザーアタック 20 編集 チェスナット・ホース 15 ベジタブルペットフード 567 75 141 151 133 105 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 3 30 編集 ダークベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ヴァーミン 16 フルーツ 806 80 147 237 115 117 5% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ギガントマウス 16 850 96 240 215 97 117 5% 4% 0% 5% ポイズンバイト 20 編集 フードスナッチ 20 編集 ウォーウルフ 17,18,19 819 61 280 214 141 112 9% 5% 0% 8% スラッシュバイト 20 敵一体にダメージ 編集 チャージハウル 30 編集 コンスタレーション 40 編集 ダーティースパイダー 17 715 90 197 193 145 92 6% 4% 0% 6% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 マンドラゴラ 17 715 56 130 123 86 69 3% 2% 0% 3% シードバレット 30 編集 リラックスフレグランス 30 編集 編集 レックス 18 1024 78 200 195 106 94 6% 3% 0% 6% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ハイヴァーミン 18 フルーツ 743 72 136 218 106 109 4% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ポイズンスパイダー 18 743 92 205 201 145 96 6% 5% 0% 7% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 キャリア 19 鼠 コーンペットフード ポイズンバイト 編集 ドライアド 20 キノコペットフード 1029 90 238 236 196 118 7 3 0% 5 リラックスフレグランス 編集 フェロモンフレグランス 編集 シードバレット 編集 コメント 名前
https://w.atwiki.jp/cosmicbreak/pages/2057.html
画像 動作 基本的な手持ちミサイル。 ロックオンした敵に向かって誘導する弾を発射する。 その他 ロケットランチャーの小型版。ロケットランチャーと比べると装弾数が減っている点に注意。 レビュー・コメント 項目作ってくれた人がいたので、ソート 中身制作。数値等は後で埋めるなり何なり 分かる人頼む。後でやってもいいけど -- (名無しさん) 2010-05-26 22 00 45 フレアスターは色々アレなので、S機でも使える手頃な手持ちミサイルとしては実質初と言ってもいい? 攻撃力が僅かに減った分間隔が短くなっており、中々扱いやすいのではないかと思うけど…。 コンパクトランチャーに限った話じゃないんだけど、陸戦に対して無力な割に重くない…? -- (名無しさん) 2010-05-26 22 25 53 間隔云々以前に射程250ってバズーカ系の間合いな時点でお察し 弾速260はロケランと同じである=Gラピ2枚挿し前提なのだが威力の割りにコスト100は重いし 180と少な目の弾を削らねばならず、ロケット系の特徴である発射直後は誘導が弱いのが足を引っ張る さらにS砲にはハンバズ、ブラバズがあるのであえてこれを選択する機会は少ないだろう 一昔前ならロケランリリとかいけたかもしれないが・・・生まれる時代を間違えた武器 -- (名無しさん) 2010-05-27 00 05 36 リリレインに持たせれば使い勝手が良い。 内臓サイガンによる誘導距離延伸が使えるので、弾速チューンでも弾を削らずに済む。 誘導、威力がそれなりなので過信は禁物。 -- (名無しさん) 2010-05-27 18 27 54 そもそもロケランのGラピチューンは距離減らすから -- (名無しさん) 2010-09-21 13 35 48 これはGラピ×2Gフォで化けると思うのだが -- (名無しさん) 2010-09-21 13 37 00 陸がラン盾もって突っ込んでくる現在の環境では、砲戦が最前線に立つことは難しい。 その点、射程同調でハンバズよりも長射程となるランチャー系列が対空に向いているといえる。 といえるのだろうか。うーん。 -- (初心者G) 2010-11-04 00 26 22 火力までコンパクトにしなくてもいいのよ -- (名無しさん) 2011-06-11 22 11 16 UC売りないしRT売りならS1でも使い道はあったかもしれない S3だろうとガラなので狙う価値は無い もし狙うならよほどデス子辺りに入れ込んでるか純正リリでロケラン使いたいとき位 そうでもなければトイ子やダグドラを狙ってAMを流用する方が効果的 -- (名無しさん) 2011-06-15 23 30 42 全てがコンパクト…可愛いw -- (名無しさん) 2012-07-02 08 56 35 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/codeofjoker/pages/34.html
Ver. 1.0 カードNo 1-0-005 種類 ユニット レアリティ R 名称 ヘルハウンド 属性 赤 種族 獣 CP 3 BP 5000/6000/7000 アビリティ ■トリガーロストこのユニットがフィールドに出た時、対戦相手のトリガーゾーンにあるカードを1枚ランダムで破壊する。 赤属性に多いトリガー破壊を持ち、場に出るだけで確実に1枚を破壊できる。 しかしコスト比BPはやや小さめで、アビリティを上手く活かせないとCPの無駄になってしまう。 同CP帯では毎自ターン終了時にトリガーゾーンを割ってくれるメリュジーヌがいる。 フレーバーテキスト ブラッドハウンドを改良して作成された、トリガー干渉を行う強力なプログラムを与えられている。 +エラッタ 2013年09月06日付修整リスト 2015年11月26日付修整リスト いずれもBPの上方修正。初期はBP3000だった。 関連項目 デッキ獣デッキ
https://w.atwiki.jp/tappyflaghexa_16/pages/19.html
ラウンド7 城内2 城内1とは違うBGM(ラウンド2、ラウンド4)が鳴る。 レベルがめちゃくちゃ上がる。 ボスはスピッドファイヤー4体。
https://w.atwiki.jp/oblivion1/pages/240.html
手順 1、WryeBashのmodタブでGG_Cのプラグインに自作キャラのセーブデータのフェイスをインポートする 2、TESCSでGG_Cのプラグインを読み込む 3、自作キャラをオブジェクトウィンドウのNPCツリーから探し(sgキャラ名)、Edit画面のFaceAdvancedタブでcopy 4、次にGG_Cのキャラ(ここではValeria Caresse)を同様に探し、Edit画面にて先程のキャラをFaceAdvancedタブにてpaste 5、セーブして終了 注意 renなどの髪modを使用してる場合は、フェイスデータをインポートする前に GG_CとrenModをTES4 Plugin Utilityなどでマージしてください、マージするのに使用した髪modとGG_Cはもう必要ありません。消去するなり、Data Fileからチェックをはずすなりしてください。 あとはTES Construction Setでフェイスデータをコンパニオンキャラにペーストして 髪型リストにrenの髪もリストアップされてるはずなんで、そこから好きなのを選んでセーブすればOKです GG_Cのespに手動でRen髪を登録する方法もあります。 この方法だとRen髪MODがインストールされていれば、GG_CとRen MODのマージがいりません。 まずCSからGG_CをActiveで開き「Character」→「Hair」→リスト欄を右クリックして「New」を選択。 そこでRen髪の名前を決めて、Add NIF FileとAdd Image Fileに、それぞれMeshとTextureのcharacters→Renフォルダにあるファイルを選択しましょう。 次に「Character」→「Race」からRen髪を使用するコンパニオンの種族の「Hair Style」の場所に、 先ほど作ったRen髪をドラッグ&ドロップします。 そしてコンパニオンのデータを開くと「Hair」に先ほどのRen髪が追加されているので選択してセーブしましょう。 補足ですが、ビューティフルピープルはバグが起こるかもしれないのであまりお勧めしません EssentialをはずしてRespawnを指定した場合はキャラの初期化が頻繁に起きて 持たせた装備が全部消えたりする んでそのつもりで連れ回さないとがっかりするかも。 Respawnを指定しなければEssential同様初期化は起きないみたい。でも死んだらそれきりだけど。 ダウンロード 日本語版GG_C http //rapidshare.de/files/32736383/GG_Companion_Japnese_Edition_v.1.2.rar.html TES4 Plugin Utility:これでModどうしを合体 http //www.tessource.net/files/file.php?id=3083 Wrye Bash:これで合体Modに自キャラデータをインポート http //wrye.ufrealms.net/Wrye%20Bash.html#Installation
https://w.atwiki.jp/cosmicbreak/pages/3266.html
画像 性能 Icon Size Type Cost PRICE Hp Str Tec Wlk Fly Tgh 備考 M 陸空砲― 110 ガラポン -1 -1 Name 威力 弾数 射程 速度 間隔 回数 備考 GATLING 12 450 220 420 140 60 チャージ 動作 砲身を空転させつつチャージを行った後、高速連射する。 その他 コンパクトガトリング同様にSサイズロボでも扱うことが可能。 COST110にしてCOST220のLLバルクガトリングと同威力、同速度、同間隔という性能を誇る。 変更点 コンパクトガトリング コンパクトガトリング改 威力 10 12 弾数 700 450 レビュー・コメント コンパクトガトリンクを小型なので威力不足だった、などとのたまう超兵器。 単発威力12を誇るので、Gフォース1枚で威力14に強化できる。 流石に弾持ちが良くないので、低コスト使い捨てが似合う。 あまりTecが高くなくても素の威力が高いので、 これを持った低コスト陸を相手すると、相手した側はジリ貧になりがち。 -- (名無しさん) 2012-08-19 09 49 54 Gフォ1枚+Hフォを指してTEC24以上にすると驚異の威力20。 弾削りでチューンするとエラく少なくなるが(射程削りで160)、バルカンと似たような使い捨て運用でものすごいDPSをたたき出せる。 -- (名無しさん) 2013-04-13 18 07 32 ↑Gフォ2枚 -- (名無しさん) 2013-04-13 18 08 15 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/arcadiasaga/pages/443.html
Last up date 2009-09-10 11 23 38 (Thu) コールドハウンド データの直接編集をされる方はコチラより編集してください。 画像 編集 名前 編集 種別 編集 生息エリア 編集 攻撃性 昼 編集 夜 編集 関連クエスト 編集 経験値 ソロ 編集 PT 編集 MOBスペック LV 編集 HP 編集 AP 編集 ATK 編集 DEF 編集 S.ATK 編集 S.DEF 編集 HIT 編集 AVOID 編集 CRIT 編集 B.AVOID 編集 強属性 編集 弱属性 編集 ペット ペットスキル 編集 餌 編集 備考 編集 ドロップ 編集 +同レベル帯(Lv11~20)一覧 画像 ペット名 詳細 ペットスキル 編集 LV 種別 餌 HP AP ATK DEF S.ATK S.DEF HIT AVOID CRIT B.AVOID スキル名 ペットLV 親密度 消費AP 説明 編集 ジャイアントスパイダー 11 478 60 112 105 57 56 4% 3% 0% 5% テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 編集 キラーインセクト 11 563 60 126 134 101 73 2% 2% 0% 3% ニードル 20 編集 ポイズンニードル 30 編集 プリミティブファンガス 11 キノコ 771 76 152 174 120 86 3% 2% 0% 5% カオスティックスポア 30 編集 スリーピングスポア 30 編集 編集 ディサグリーアトラス 11 フルーツ 822 70 145 217 76 79 4% 1% 0% 2% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 レオパルド 12 ミート 435 62 157 166 137 96 5% 6% 0% 3% ライトステップ 30 回避率を上昇させる 編集 編集 インビジブルリザード 12 ベジ 671 123 157 181 181 180 4% 8% 0% 7% ライトステップ 30 回避率を上昇させる 編集 編集 ベア 13 ミートペットフード 562 50 165 156 95 88 3% 2% 0% 3% ワイルドクロー 20 編集 ディープインパクト 40 編集 クロウラー 13 661 97 145 156 156 101 5% 2% 0% 5% ウエポンディソルブ 30 編集 アーマーディソルブ 30 編集 サーペント 13 ミート 578 74 161 137 84 112 5% 5% 0% 6% テイルアタック 30 編集 パラライズバイト 30 編集 ニンブルラット 13 606 84 128 171 103 82 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 コールドハウンド 13,14 716 74 193 126 169 112 7% 6% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 タクシクフラワー 13 705 72 150 146 95 86 2% 2% 0% 2% シードバレット 30 編集 リラックスフレグランス 30 敵の物理攻撃力減少 編集 スナップラット 14 635 86 135 180 108 86 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ブラックレオパルド 15 537 70 190 204 167 119 6% 7% 0% 4% ライトステップ 30 回避率を上昇させる 編集 ドレッドファング 16 40 編集 ディプスハウンド 15 ミート 670 67 181 118 159 105 7% 5% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 ストレインアウルベア 15 キノコ 615 53 136 107 70 70 5% 2% 0% 4% ワイルドフェザー 30 編集 フェザーアタック 20 編集 チェスナット・ホース 15 ベジタブルペットフード 567 75 141 151 133 105 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 3 30 編集 ダークベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ヴァーミン 16 フルーツ 806 80 147 237 115 117 5% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ギガントマウス 16 850 96 240 215 97 117 5% 4% 0% 5% ポイズンバイト 20 編集 フードスナッチ 20 編集 ウォーウルフ 17,18,19 819 61 280 214 141 112 9% 5% 0% 8% スラッシュバイト 20 敵一体にダメージ 編集 チャージハウル 30 編集 コンスタレーション 40 編集 ダーティースパイダー 17 715 90 197 193 145 92 6% 4% 0% 6% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 マンドラゴラ 17 715 56 130 123 86 69 3% 2% 0% 3% シードバレット 30 編集 リラックスフレグランス 30 編集 編集 レックス 18 1024 78 200 195 106 94 6% 3% 0% 6% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ハイヴァーミン 18 フルーツ 743 72 136 218 106 109 4% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ポイズンスパイダー 18 743 92 205 201 145 96 6% 5% 0% 7% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 キャリア 19 鼠 コーンペットフード ポイズンバイト 編集 ドライアド 20 キノコペットフード 1029 90 238 236 196 118 7 3 0% 5 リラックスフレグランス 編集 フェロモンフレグランス 編集 シードバレット 編集 コメント 名前
https://w.atwiki.jp/mopsprogramming/pages/155.html
プログラミング言語で組んだプログラムをコンピュータで実現するとき、その実行方法には、大きく分けて二つの方法があります。それが、インタープリタ方式とコンパイラ方式です。インタープリタとは「解釈するもの(Interpreter)」というような意味の英語です。コンパイラ(Compiler)の意味は難しいですね。英語の辞書も大抵翻訳を放棄して、カタカナ書きです。語の成り立ちからすると「束ねて積み込むもの」というイメージでしょうか(想像するに、穴空きカードでプログラミングしていた時代の名残じゃないでしょうか)。 ソフトェア/ハードウェア インタープリタにしてもコンパイラにしても、そう呼ばれるのは、その機能を持ったソフトウェア(アプリケーション)のことです。そういえば、ソフトウェアとハードウェアの話をしていませんでした。ついでにここで触れると、コンピュータとか機械のことはハードウェア(Hardware)と呼ばれ、それを動かすためのコードやデータの中身(コードは機械への命令ですが、これも大きく括れば計算機に食わせるデータの一つ)をソフトウェア(Software)といいます。機械は硬い(ハード hard)ので、それとの対比でソフトなわけで、別に柔らかいわけじゃありません、っていうか、厳密にいうと手では触れません、ソフトウェアには。 さてインタープリタ方式とコンパイラ方式に話を戻します。前回も触れたように、機械の中では、普通の人間にはわけが分からない電気信号(機械語)の組み合わせが飛び交っているに過ぎません。これを人にもわかりやすいようにするためにプログラミング言語があるわけです。ですが、今度は機械の方でプログラミング言語を直接理解(つまり、対応した実行。機械が何かを"理解"することは、今のところありません。比喩です。)できません。そんなわけで、プログラミング言語で書いたプログラムを、機械が理解できるような信号に変換してくれるものが必要なわけです。これがインタープリタとかコンパイラなわけです。 インタープリタ方式 インタープリタは、プログラミング言語で書かれたプログラムを読み込んで、直ちにそれを機械への命令に変換して実行してくれます。ですから、インタープリタ方式では、プログラムのごく一部分であっても、ある程度まとまっていれば、その場で実行して結果を確かめることができます。簡単便利なわけです。ところが、反面、前回も触れたような行ったり来たりの構文解析をしたり、さらに数式みたいな外見の文の意味を機械の命令に翻訳したりという作業を、一行毎にしながら実行して行くため、高速の処理が苦手です。もっとも最近は機械自体の処理速度がめちゃくちゃ早くなっているので、特別高速処理が必要な部分じゃなければ、インタープリタ方式でも苦痛なほど鈍いということはないようです。そのため、簡便性が買われて、インタープリタ方式しか提供されていない言語もかなり広く愛好されるようになりました。 コンパイラ方式 これに対して、コンパイラは、それ自体はプログラムを実行してくれません。プログラミング言語で書かれたプログラムを、機械が理解できるデータに変換して、普通はそれをファイルとして保存するということをします。この生成されたファイルはいわゆるアプリケーションになっているはずなわけで、これを実行すればいいわけです。実行の段階では、もう構文解析とか機械語への翻訳は終わっているので、最適な実行速度が得られるわけです。ところが、コンパイラ方式の場合、実行するファイルはアプリケーションとしてある程度完成していないといけないわけで、足し算の部分だけ、とかを試してみることができません。そんなわけで、あらかた完成してから、デバッグと呼ばれる手順で、専用のアプリケーション(デバッガという)を用いてときどき止めながら実行してみて、長いプログラムの中にちりばめられた多くの失敗を捜す必要もでてきます。インタープリタのように書きながら断片毎にチェックできればミスのありかもわかりやすいのですが、それができない、ということです。それでも、実行速度が欲しい商用のアプリケーションはもちろん、ごく普通にアプリケーションというと、コンパイラ方式でつくられたものがほとんどです。本格的、というイメージがあるのかもしれません。 すこし補足します。上で"コンパイラというソフトウェア"といいましたが、これは、ちょっと広い範囲のものを含んでいます。まあ、この広い意味のコンパイラという言い方も、そう特殊ではないんですが。厳密にいうと、コンパイラは、プログラミング言語で書かれたプログラムを、マシン語の命令の束に変換するところまでをするソフトウェアで、その結果をファイルに落としたとしても、必ずアプリケーションになるとは限らないわけです。この後アプリケーションに至るプロセスの中で重要な働きをするソフトウェアはリンカ(linker)と呼ばれます。特に、スタティック(static)リンカですね。静的リンカ。だいたいは、これも合わせてコンパイラというわけです。 少し細かい話ですが、プログラムを書くとき、複数のファイルにわけて書くのが普通です。狭い意味でのコンパイラというのは、このプログラムファイル毎に、ひとつのマシン語ファイルを生成するのが普通です。で、自分のところで内容がわからない(定義されていない)サブルーチン、と定義されているサブルーティンとにわけて、タップというか継ぎ手みたいな記号をファイルに書き込んでおくわけです。そのあと、スタティックリンカは、その継ぎ手を調べて、定義内容と、それを必要としている部分を結びつけた上で、ひとつの実行可能ファイルにまとめてくれるわけです。実は、Mops/Forthではこの作業はないんですが、"普通の"コンパイラ型言語では、だいたいこういう仕組みになっていると思います。 ファイルを別々にわけたまま、とりあえずは実行できるようにしておいて、必要になったときに"継ぎ手"を調べて結びつける仕事をするソフトウェアは、ダイナミック(dynamic)リンカと呼ばれます。動的リンカですね。 この手の話は、高度な話ということになってるんですが、まあ、発想は単純ですよね。仕組みを作るのは難しそうですが。面倒なら、あまり考えなくていいです。 バイトコード方式 で、以上のようなものは両極で、中間にいろいろ技巧をこらしているものがあります。その中でも、今ではJavaのせいで触れないわけにはいかなくなった、バイトコード方式というのがあります。つまり、インタープリタ方式とコンパイラ方式の中間にあるような方法です。 この方式では、プログラミング言語で書かれたプログラムは、まずコンパイル(コンパイラで変換すること)される必要があります。しかし、ここで一挙に機械語に変換はしません。バイトコードと呼ばれる、人間には読めない、しかし機械で直接実行もできないデータに変換するのです。これは、大抵、ファイルとして保存されます。出来上がったファイルは、このデータのインタープリタで実行されます。このインタープリタは、"仮想機械(バーチャルマシン virtual machine)"と呼ばれるのが普通です。 なお、バイトコードというのは厳密には、Java(他にはSmalltalkという言語でも)で使われる実行ファイルデータの呼び名(型式名)で、別に、この方式を採用するのに、バイトコードというタイプを使う必然性はありません。ので、正確には、中間コード方式とでもいう方がいいでしょう。まあ、Javaが有名なもので。 バイトコードはプログラミング言語の構文解析はもう終わっており、手早く機械語に変換できるようになっています。ですから、インタープリタ(仮想機械)で実行するときには、直接機械語を実行するとき程ではありませんが、比較的高速になります。他方、コンパイルが必要ですから、断片を手軽に試すということもできません(直接ソースを実行できるインタープリタもあるかも知れません。すみません。商品状況はよく知りません。ちょっとずつ追加コンパイルできるようになっていれば、かなり好いわけですが。)。 すると、見方によっては、インタープリタ方式ほどの手軽さもなく、コンパイラ方式よりも実行速度が遅い、いいところないじゃないか、といえなくもありません。ですが、このバイトコード方式の狙いは、皆さんご承知のように、違うところにあるのです。インタープリタ方式は、インタープリタというアプリケーションが、プログラムをその機械やOSに合わせて実行してくれるわけで、"理想的には"どの機械、どのOSでも、同じプログラムを同じように動かせるはずなわけです。ところが、あまりに実行速度が遅いのではイライラする。そこで、手早く機械語に変換できる言語をつかってインタープリタで動かせば、違う機械、違うOSでも、"理想的には"一つのプログラムが比較的高速で同じように動かせるじゃあないか、ということになるわけです。つまり、機械、というか特にOSの違いの吸収がその目的なわけです。もっとも、機械語に変換しやすいバイトコードは、人間にわかりやすいとはいえない。そこで、コンパイラをかませて、人にもわかりやすいコードをバイトコードに変換するという機構もつけたわけです。Javaは商業的にも大成功した、みたいです。 言語の特性とは言い切れない インタープリタ方式、コンパイラ方式、中間方式、どれもプログラムの実行方式です。ときどき、インタープリタ言語、コンパイラ言語、などという分類がありますが、インタープリタでするかコンパイラでするかは、厳密にはプログラミング言語の属性ではありません。実際、C言語やC++言語というのはコンパイラ言語のチャンピオンですが、どちらもインタープリタが存在しています(過去形の方がいいのかな。あまり知られていませんね。学習用ということでしょう。)。ただ、全然関係ないかというと、そうでもありません。というのは、何度か触れたように、インタープリタでは構文解析とか、プログラミング言語を機械に適切なように置き換えるプロセスが実行されます。インタープリタ上で動かすことを予定して言語をデザインするには、この時間を最小限にするのが理想的ということになります。もちろん、人が読めるという条件を前提としてですが。他方、コンパイラ方式で動かすというなら、この変換にかかる時間は、あまりに長いのは問題ですが、それほど大きな意味を持ちません。どちらかというと、機械語の実行コードの実行効率を上げることができるような言語デザインが大切になってきます。コンパイラ方式の最大の利点は効率性ですから。つまり、プログラミング言語をデザインするときには、どちらを前提とするかで考え方が違ってくるわけで、言語の見た目も変わってくる可能性はあるわけです。もっとも、実際には、インタープリタ言語は機械のパワーに依存してしまっていて、コンパイラ言語と変わらない体裁のものがほとんどですし(似ている方がおぼえやすいし)、コンパイラ言語は、言語デザインで効率性を考えるというより、コンパイラ技術に依存してしまっているわけですが。 Mopsの方式 Mopsは、インタープリタであると同時にコンパイラでもあります。じゃあバイトコード(中間コード)方式なのかというと、そうでもありません。インタープリタ方式とコンパイラ方式の中間ではないのです。強いていえば、インタープリタのようにコード断片を試せるコンパイラ方式です。 Mopsには定義されているものと定義されていないものがあります。簡単な足し算"+"などは予め定義されています。自分で新たに定義を付け加えることもできます。既に定義されているものは、Mopsのウィンドウにenterすると実行されます。これはインタープリタの動作です。ところが、この解釈実行の段階にはコードを機械語に変換するという部分がありません。定義したときに、もうその内容は機械語に変換されて辞書(Dictionary)と呼ばれるメモリー部分に格納されてあるのです。インタープリタは、それを引っ張り出して実行するだけです。ですから、既に定義されている部分を実行している間は、機械語を単純に実行しているだけなのです。ですから、実行方式は、コンパイラ方式での実行ファイルの実行と変わりがありません。そのため、インタープリタ方式とは思えない程高速なのです。Mopsの方式は、Forth系言語の中でも、ネイティブ方式と呼ばれ、最も高速な部類に属します。これは、実質的には、もう、インタープリタ方式とはいえません。コンパイラ方式というべきでしょう。それでも、Mopsは普通のインタープリタのように、足し算一個でも、試してみることができるのです。 と、以上のように、技術的には色々あり得るわけです。Mopsの独特の方式(他にもForth系には類例はありますが)は、古いForth言語のやり方を踏襲して発展させたものです。このような、実質的にはコンパイラ方式なのに簡便にプログラミングができることを標準としている環境は、Forth系以外にはまだ存在していないようです。技術的にもとても興味深いものだと思います。 前へ 次へ 目次へ トップページへ